package com.avic.modules.equipment.domain.vo;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.avic.modules.equipment.domain.Station;
import com.avic.modules.record.domain.Yesterday;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

@Data
@NoArgsConstructor
public class Category implements Serializable {

    // 今日设备运行总时间
    private Long todayTotalTime;

    // 今日设备关机总时间
    private Long todayShutdownTotalTime;

    // 今日设备运行数
    private Integer todayEquip;

    // 今日设备关机数
    private Integer todayShutdown;

    // 昨日数据
    private Yesterday yesterday;

    // 本月设备运行数
    private Integer monthSum;

    // 本月设备关机数
    private Integer monthShutdownSum;

    // 本月设备运行总时间
    private Long monthTotalTime;


    // 本月设备关机总时间
    private Long monthShutdownTotalTime;

    // 站位数
    private Integer numberOfStations;

    // 设备数
    private Integer equipNumber;

    // 运行设备数
    private Integer functionNumber;

    // 运行站位数
    private Integer functionStationNumber;

    // 健康站位数
    private Integer healthyStationNumber;

    // 健康设备数
    private Integer healthyNumber;

    // 设备亚健康状态
    private Integer Inferior;

    // 设备合格状态
    private Integer qualified;

    // 设备异常状态
    private Integer abnormal;

    // 设备故障状态
    private Integer fault;

    // 站位
    @TableField(exist = false)
    private List<Station> station;

    public void copy(Category source) {
        BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
